/*
 * Copyright© 2003-2019 浙江汇信科技有限公司, All Rights Reserved.
 */
package com.icinfo.cloud.provider.punish.ucase.archive.service;

import com.icinfo.cloud.provider.punish.ucase.archive.dto.*;
import com.icinfo.cloud.provider.punish.ucase.archive.model.CaseElectricArchiveRecord;
import com.icinfo.framework.core.service.BaseService;

import java.util.List;

/**
 * 描述:  case_electric_archive_record 对应的Service接口.<br>
 *
 * @author framework generator
 * @date 2022年12月08日
 */
public interface ICaseElectricArchiveRecordService extends BaseService {
    /**
     *描述： 电子卷宗记录列表
     *
     * @param queryDto 查询dto
     * @return {@link List<CaseElectricArchiveRecordDetailVo> }
     * @author shishengyao
     * @date 2022/12/08
     */
    List<CaseElectricArchiveRecordDetailVo> getElectricArchiveRecordList(CaseElectricArchivePageQueryDto queryDto);

    /**
     * 描述：保存电子卷宗
     *
     * @param saveDto 保存dto
     * @return int
     * @author shishengyao
     * @date 2022/12/08
     */
    int saveElectricArchive(CaseElectricArchiveSaveDto saveDto);

    /**
     * 描述：保存电子卷宗
     *
     * @param catalogContentList 目录内容列表
     * @return {@link List<CaseElectricArchiveCatalogContent> }
     * @author shishengyao
     * @date 2022/12/13
     */
    List<CaseElectricArchiveCatalogContent> calculateElectricArchivePageNumber(List<CaseElectricArchiveCatalogContent> catalogContentList);

    /**
     * 描述：合并电子卷宗
     *
     * @param saveDto            保存dto
     * @param catalogContentList 目录内容列表
     * @return {@link String }
     * @author shishengyao
     * @date 2022/12/09
     */
    String mergeElectricArchive(CaseElectricArchiveSaveDto saveDto, List<CaseElectricArchiveCatalogContent> catalogContentList);

    /**
     * 得到电子档案记录id
     *
     * @param caseId 用例id
     * @return {@link CaseElectricArchiveCatalogContent }
     * @author shishengyao
     * @date 2022/12/08
     */
    CaseElectricArchiveRecord getElectricArchiveRecordByCaseId(String caseId);

    /**
     * 描述：得到电子卷宗文档列表
     *
     * @param queryDto 查询dto
     * @return {@link List<CaseElectricArchiveCatalogContent> }
     * @author shishengyao
     * @date 2022/12/08
     */
    List<CaseElectricArchiveCatalogContent> getCaseElectricArchiveDocumentList(CaseElectricArchiveCatalogDocumentQueryDto queryDto);

    /**
     * 电子卷宗档案列表
     *
     * @param queryDto
     * @return
     */
    List<CaseElectricArchiveRecordDetailVo> getElectricArchiveRecordListToSee(CaseElectricArchivePageQueryDto queryDto);

    /**
     * 证据列表
     *
     * @param caseId
     * @return
     */
    List<ElectricInfoVo> getElectricArchiveList(String caseId);

}
